package gui;

import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.util.Calendar;
import java.util.Date;

import javax.swing.JLabel;
import javax.swing.JPanel;

public abstract class SemaineUI extends JPanel {
	protected int nbJours;
	protected int nbPeriodes;
	protected Date debutSemaine;

	protected JPanel contenu = new JPanel();
	
	public SemaineUI(Date debutSemaine, int matin, int aprem) {

//		methode pour recuperer toutes les semaines avec semaine actuelle
		nbJours = 5;
		nbPeriodes = matin + aprem;
		this.debutSemaine = debutSemaine;
		System.out.println("CONSTR");
		makeGUI();
	}
	
	public void makeGUI() {
		int matin = 3; // TODO Remplacer par une recuperation a partir de la BD
		int aprem = 3;
		
		String[] jours = new String[nbJours];
		
		Calendar c = Calendar.getInstance();
		c.set(debutSemaine.getYear(), debutSemaine.getMonth(), debutSemaine.getDate());
		
		for (int i=0; i<nbJours; i++) {
			jours[i] = c.get(Calendar.DATE) + "/" + (c.get(Calendar.MONTH) + 1);
			c.add(Calendar.DATE, 1);
		}
		
		setLayout(new BorderLayout());

		JPanel entete = new JPanel();
		add(entete, BorderLayout.PAGE_START);
		GridLayout enteteLayout = new GridLayout(1, 6);
		enteteLayout.setHgap(10);
		entete.setLayout(enteteLayout);

		entete.add(new JLabel());
		entete.add(new IntituleJourUI("Lundi " + jours[0]));
		entete.add(new IntituleJourUI("Mardi " + jours[1]));
		entete.add(new IntituleJourUI("Mercredi " + jours[2]));
		entete.add(new IntituleJourUI("Jeudi " + jours[3]));
		entete.add(new IntituleJourUI("Vendredi " + jours[4]));

		add(contenu, BorderLayout.CENTER);
		GridLayout contenuLayout = new GridLayout(matin + aprem, 6);
		contenuLayout.setHgap(10);
		contenuLayout.setVgap(-1);
		contenu.setLayout(contenuLayout);
	}
	
	public abstract void load();
	
	public SemaineUI getSemaine() {
		return this;
	}
	
	public String toString() {
		return "22/02 - 26/02";
	}
}
